int countNumbersWithUniqueDigits(int n)
{
    if(n > 10) {
        n = 10;
    }
    
    int a[11] = {1, 10};
    for(int i = 2; i <= n; ++i) {
        int t = 9;
        for(int j = 2; j <= i; ++j) {
            t *= (11 - j);
        }
        a[i] = a[i - 1] + t;
    }
    return a[n];
}
